package com.xl.basic.service;

import com.xl.basic.entity.Result;
import com.xl.basic.entity.param.AddMenuParam;
import com.xl.basic.entity.param.QueryMenuParam;
import com.xl.basic.entity.param.UpdMenuParam;
import com.xl.basic.entity.UserInfo;
import com.xl.dao.domain.XlMenu;
import lombok.NonNull;

import java.util.List;

/**
 * @author 钟勇
 * Create in 2023/8/25 15:04
 */
public interface MenuService {
    /**
     * 新增菜单
     *
     * @param param    param
     * @param operator 操作者
     * @return result
     */
    Result<Integer> addMenu(@NonNull AddMenuParam param, UserInfo operator);

    /**
     * 编辑菜单
     *
     * @param param    param
     * @param operator 操作人
     * @return result
     */
    Result<Object> updMenu(@NonNull UpdMenuParam param, UserInfo operator);

    /**
     * 移除菜单
     *
     * @param menuId   菜单id
     * @param operator 操作人
     * @return result
     */
    Result<Object> delMenu(@NonNull Integer menuId, UserInfo operator);

    /**
     * 查询菜单
     *
     * @param param param
     * @return 菜单列表
     */
    Result<List<XlMenu>> queryMenuList(@NonNull QueryMenuParam param);

}
